草庐IT

leetcode 413. Arithmetic Slices 等差数列划分

全部标签

IP地址的划分、分配

一、IP地址的划分:IP地址一个包括五大类,分别是A类IP地址、B类IP地址、C类IP地址、D类IP地址和E类IP地址。其中A类IP地址的范围是0-127,在这个范围内的0表示的是任何地址,127表示的是回环测试相应的地址,由此我们可以看出A类IP地址的实际范围是1-126,255.0.0.0是A类IP地址的默认子网掩码,其显示的子网掩码在一个范围当中。    B类IP地址的范围是128-191,其中子网掩码128.0.0.0和子网掩码191.255.0.0都是保留IP,B类IP地址的子网掩码实际范围是从子网掩码128.1.0.0到子网掩码191.254.0.0。    C类IP地址的范围是1

LeetCode 面试题 08.02. 迷路的机器人

文章目录一、题目二、C#题解一、题目  设想有个机器人坐在一个网格的左上角,网格r行c列。机器人只能向下或向右移动,但不能走到一些被禁止的网格(有障碍物)。设计一种算法,寻找机器人从左上角移动到右下角的路径。  网格中的障碍物和空位置分别用1和0来表示。  返回一条可行的路径,路径由经过的网格的行号和列号组成。左上角为0行0列。如果没有可行的路径,返回空数组。示例1:输入:[[0,0,0],[0,1,0],[0,0,0]]输出:[[0,0],[0,1],[0,2],[1,2],[2,2]]解释:输入中标粗的位置即为输出表示的路径,即0行0列(左上角)->0行1列->0行2列->1行2列->2行

Leetcode—765.情侣牵手【困难】

2023每日刷题(二十七)Leetcode—765.情侣牵手并查集+置换环思路参考自ylb实现代码classSolution{public:intminSwapsCouples(vectorint>&row){intn=row.size();intlen=n/2;vectorint>p(len);iota(p.begin(),p.end(),0);functionint(int)>find=[&](constint&x){if(x!=p[x]){p[x]=find(p[x]);}returnp[x];};for(inti=0;in;i+=2){intleft=row[i]/2;intright

决策树及分类原理与划分依据:信息熵、信息增益、信息增益率、基尼值和基尼指数

一、决策树及分类原理决策树:是一种树形结构,其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果,本质是一颗由多个判断节点组成的树熵(Entropy) :物理学上是“混乱”程度的量度,系统越有序,熵值越低;系统越混乱或者分散,熵值越高从信息的完整性上进行的描述:当系统的有序状态一致时,**数据越集中的地方熵值越小,数据越分散的地方熵值越大从信息的有序性上进行的描述:当数据量一致时,系统越有序,熵值越低,系统越混乱或者分散,熵值越高1948年香农提出了信息熵(Entropy)的概念,假如事件A的分类划分是(A1,A2,...,An),每部分发生的概

把labelme得到的json文件转换成yolov8需要的格式,划分数据集

使用labelme打标,得到json文件把所有json文件放到一个单独的文件夹,里面只有json文件使用脚本,把json里面的label,标注框的中心坐标、宽、高提取出来,注意这里的4个值都按照图像大小压缩了。脚本如下:importjsonimportosdefread_json(json_file):withopen(json_file,'r')asf:load_dict=json.load(f)f.close()returnload_dictdefjson2txt(json_path,txt_path):forjson_fileinos.listdir(json_path):txt_nam

实战Leetcode(四)

Practicemakesperfect!实战一:这个题由于我们不知道两个链表的长度我们也不知道它是否有相交的节点,所以我们的方法是先求出两个链表的长度,长度长的先走相差的步数,使得两个链表处于同一起点,两个链表在同时走,如果两个链表节点的地址相等就存在相交的节点,在放回第一个节点就可以了。structListNode*getIntersectionNode(structListNode*headA,structListNode*headB){structListNode*curA=headA;structListNode*curB=headB;intlenA=1;intlenB=1;whil

Leetcode实战

我们今天来利用这段时间的学习实操下我们的oj题。intremoveElement(int*nums,intnumsSize,intval){intdst=0;intsrc=0;while(srcnumsSize){if(nums[src]!=val){nums[dst++]=nums[src++];}elsesrc++;}returndst;}我们这里用用两个下标,src来移动,如果val等于我们的nums[src],我们就src++找到下一个位置,如果不相等我们就将下标src的值赋给dst。intremoveDuplicates(int*nums,intnumsSize){intdst=0;

【UE4】空间划分Octree、BVH、BSP简介

常用的空间划分算法有什么空间划分是计算机图形学中的一种技术,它将场景对象按照空间位置进行分割。常见的空间划分方法有以下几种类型:Octree八叉树:是一种基于递归分割的空间划分方式,将空间划分成八个部分,然后再将这八个部分继续划分为八个子节点。八叉树广泛应用于游戏中的视锥裁剪和物体可见性问题;KD-TreeK叉树:是一种基于分治法的空间划分结构,用于快速检索最近邻数据点。KD-Tree通常应用于三维建模、光线跟踪等方面;BSP二叉空间划分:BSP全称为BinarySpacePartitioning,即二叉空间划分。BSP是由多个平面把整个场景划分为前后两个区域,并且可以在每个区域内再使用平面进

leetcode-链表经典题

 1.反转单链表206. 反转链表https://leetcode.cn/problems/reverse-linked-list/这里我们使用创建一个变量cur来遍历原链表,再创建一个新节点newnode,首先使用一个循环来遍历原链表,cur为NULL是循环结束,每次进入循环将cur的下一个节点赋给tail,然后将cur取下来头插,第一次头插的节点的next置为NULL,也就是cur->next=newnode,然后将cur这个节点赋给newnode,在新链表上相当于往左走一步,newnode=cur,然后cur在旧链表上往右走,cur=tail。循环结束后cur就为NULL了,也就是全部完

[LeetCode]-225. 用队列实现栈-232. 用栈实现队列

目录225.用队列实现栈题目思路 代码232.用栈实现队列题目 思路代码225.用队列实现栈225.用队列实现栈-力扣(LeetCode)https://leetcode.cn/problems/implement-stack-using-queues/description/题目请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。实现 MyStack 类:voidpush(intx) 将元素x压入栈顶。intpop() 移除并返回栈顶元素。inttop() 返回栈顶元素。booleanempty() 如果栈是空的,返回